﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Logica.Comandos;
using Logica.FabricaLogica;
using Datos.Entidades;
using Logica.Comandos.ComandosAdministracionEvento;
using Logica.Comandos.AdministracionEvento;

namespace Logica.FabricaLogica
{
    // <summary>
    /// comando para hacer las llamadas a las fabricas Evento
    /// </summary>
    /// <param name="usuario">Evento a insertar</param>
    /// <returns>bool(true/false) despues de insertar un evento tipo entidad</returns>

      public class FabricaComandoEvento
    {
        // <summary>
        /// comando para hacer las llamadas a InsertarEvento
        /// </summary>
        /// <param name="usuario">Evento a insertar</param>
        /// <returns>ComandoCrearEvento</returns>

          public static ComandoCrearEvento  ObtenerComandoInsertarEvento()
          {
              return new ComandoCrearEvento();
          }

          // <summary>
          /// comando para hacer las llamadas a Eliminarevento
          /// </summary>
          /// <param name="usuario">Evento a desactivar</param>
          /// <returns>ComandoEliminarEvento</returns>

          public static ComandoEliminarEvento ObtenerComandoEliminarEvento()
          {
              return new ComandoEliminarEvento();
          }


          // <summary>
          /// comando para hacer las llamadas a Buscararevento
          /// </summary>
          /// <param name="usuario">Evento a buscar</param>
          /// <returns>ComandoBuscarEvento</returns>


          public static ComandoBuscarEvento ObtenerComandoBuscarEvento()
          {
              return new ComandoBuscarEvento();
          }


          // <summary>
          /// comando para hacer las llamadas a BuscarEventoCategoria
          /// </summary>
          /// <param name="usuario">Evento a buscar por categoria</param>
          /// <returns>ComandoBuscarEventoCategoria</returns>
          public static ComandoBuscarEventoCategoria ObtenerComandoBuscarEventoCategoria()
          {
              return new ComandoBuscarEventoCategoria();
          }

          // <summary>
          /// comando para hacer las llamadas a BuscarEventoParticipante
          /// </summary>
          /// <param name="usuario">Participante a buscar por categoria</param>
          /// <returns>ComandoBuscarEventoParticipante</returns>
          public static ComandoBuscarEventoParticipante ObtenerComandoBuscarEventoParticipante()
          {
              return new ComandoBuscarEventoParticipante();
          }


          // <summary>
          /// comando para hacer las llamadas a InsertarHistorialParticipante
          /// </summary>
          /// <param name="usuario">agregar en InsertarHistorialParticipante</param>
          /// <returns>ComandoCrearHistorialParticipante</returns>

          public static ComandoCrearHistorialParticipante ObtenerComandoInsertarHistorialParticipante()
          {
              return new ComandoCrearHistorialParticipante();
          }

          // <summary>
          /// comando para hacer las llamadas a BuscarEventoNombre
          /// </summary>
          /// <param name="usuario">buscar evento por nombre</param>
          /// <returns>ComandoBuscarEventoNombre</returns>


          public static ComandoBuscarEventoNombre ObtenerComandoBuscarEventoNombre()
          {
              return new ComandoBuscarEventoNombre();
          }

          // <summary>
          /// comando para hacer las llamadas a ConsultarEvento
          /// </summary>
          /// <param name="usuario">consulta todos los evento</param>
          /// <returns>ComandoConsultarEvento</returns>

          public static ComandoConsultarEvento ObtenerComandoConsultarEvento()
          {
              return new ComandoConsultarEvento();
          }

          // <summary>
          /// comando para hacer las llamadas a ModificarEvento
          /// </summary>
          /// <param name="usuario">modifica un evento</param>
          /// <returns>ComandoModificarEvento</returns>


          public static ComandoModificarEvento ObtenerComandoModificarEvento()
          {
              return new ComandoModificarEvento();
          }

          // <summary>
          /// comando para hacer las llamadas a ConsultarEventoID
          /// </summary>
          /// <param name="usuario">obtiene el id de un HistorialParticipante</param>
          /// <returns>ComandoConsultarEventoID</returns>



          public static ComandoConsultarEventoID ObtenerComandoConsultarEventoID()
          {
              return new ComandoConsultarEventoID();
          }

          // <summary>
          /// comando para hacer las llamadas a ConsultarUsuarioID
          /// </summary>
          /// <param name="usuario">obtiene el id de un HistorialParticipante</param>
          /// <returns>ComandoConsultarEventoID</returns>


          public static Comando ObtenerComandoConsultarUsuarioID()
          {
              throw new NotImplementedException();
          }
    }
}
